[3, 15, 8, 29, 102, 22].sort(),结果是多少,为什么?
参考答案:
对于数组 [3, 15, 8, 29, 102, 22] 使用 .sort() 方法,结果是 [102, 15, 22, 29, 3, 8]。
原因:
Array.prototype.sort() 方法默认是按字典顺序(即字符串的顺序)对数组元素进行排序的。它会将数组中的元素转换为字符串,然后按字典顺序比较这些字符串。
在这个例子中,排序过程如下:
转换为字符串:
3->"3"15->"15"8->"8"29->"29"102->"102"22->"22"
按字典顺序比较字符串:
"102">"15""15">"22""22">"29""29">"3""3">"8"
因此,排序后的结果是 [102, 15, 22, 29, 3, 8]。如果要按数值排序,需要传递一个比较函数给 .sort(),例如:
javascript
[3, 15, 8, 29, 102, 22].sort((a, b) => a - b);这将返回 [3, 8, 15, 22, 29, 102]。